In a client-server architecture, such as a microservice architecture employing clients and servers, a client may send a request to a server to perform a certain service or a task, such as a microservice, that is needed by the client. The request is sent to the server using a certain protocol, such as a remote-procedure-call (RPC) protocol, in which the requestor directs the request to a certain target device or system, which executes the task requested upon receiving the request. In such client-server architectures, the task requested is often associated with data components, such as code segments and data sets, which are needed for execution of the task requested. Various parameters such as code complexity, data size, computational resources availability, and the isolation environment used to execute the various tasks in isolation from each other, may all greatly affect performance in such client-server architectures. A certain type of an isolation environment employed in the server may be sub-optimal when attempting to execute various types of tasks in isolation simultaneously. A particular combination of hardware components facilitating execution of a certain task in a specific isolation environment may prove to be sub-optimal as well, and some combinations of software and hardware may be optimal for running certain tasks, but sub-optimal when attempting to run other tasks. There are many number of factors, and a combination of these factors, some of which are related to hardware and some to software, which may greatly affect performance levels when executing tasks, but which may also affect different tasks differently, and sometimes in an unpredictable way. To make things even worse, the effect of one combination of factors on a certain task may change over time as a result of dynamic or evolving conditions in the system.